﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using xplang.abstractions;
using xplang.run;
using xplang.errors;

namespace xplang.rtl.native
{
  public class VoidClass : NativeClass
  {
    internal VoidClass()
      : base(RTL.rtl, "void")
    {
      genericParams = new GenericParamDecl[] { };
      inheritance = new ClassRef[] { };
    }

    public override void registerMembers()
    {
    }

    public override ClassRef getRef(ClassRef[] genericParams)
    {
      return null;
    }

    public override object newInstance()
    {
      throw new AbstractInstanciation();
    }

    public override Value getAttributeValue(Value _this, Variable variable)
    {
      throw new NotImplementedException();
    }

    public override void setAttributeValue(Value _this, Variable variable, Value obj)
    {
      throw new NotImplementedException();
    }
  }
}
